home *** CD-ROM | disk | FTP | other *** search
- /*
- myheader.h - Useful #defines and typedefs for tool/accessory programs.
- */
-
- #ifndef MYHEADER_H
- #define MYHEADER_H
-
- /* Length of tool/accessory id. */
- #define ID_LEN 4
-
- /* Make an id out of four characters. */
- #define MAKE_ID(a, b, c, d) ((ULONG) ((((a << 8) + b << 8) + c << 8) + d))
-
- /* Make an id out of a string. */
- #define MAKE_IDS(s) (MAKE_ID(s[0], s[1], s[2], s[3]))
-
- /* Split an id into four characters. */
- #define SPLIT_ID(id, a, b, c, d) \
- do { \
- a = (UBYTE) ((id >> 24) & 0xff); \
- b = (UBYTE) ((id >> 16) & 0xff); \
- c = (UBYTE) ((id >> 8) & 0xff); \
- d = (UBYTE) (id & 0xff); \
- } while (0)
-
- /* Split an id into a string. */
- #define SPLIT_IDS(id, s) \
- do { \
- SPLIT_ID(id, s[0], s[1], s[2], s[3]); \
- } while (0)
-
- /* Maximum MIDI note # */
- #define MIDI_NOTE_MAX (127)
-
- /* Number of MIDI notes. */
- #define MIDI_NOTE_NUM (MIDI_NOTE_MAX + 1)
-
- /* Maximum program change number. */
- #define PC_CHANGE_MAX 127
-
- /* Number of program changes. */
- #define PC_CHANGE_NUM (PC_CHANGE_MAX + 1)
-
- /* Maximum CC value. */
- #define CC_VALUE_MAX 127
-
- /* Number of CC values. */
- #define CC_VALUE_NUM (CC_VALUE_MAX + 1)
-
- /* Flags for use in the BRB file requester. */
- #define FILES_DELETE 1 /* Delete button */
- #define FILES_OPEN 2 /* Open button */
- #define FILES_SAVE 4 /* Save button */
- #define FILES_TEST 8 /* ??? */
- #define FILES_TYPE 16 /* Type string gadget */
- #define FILES_PATH 32 /* Path string gadget */
-
- /* Initial placement of tool/accessory windows. */
- #define INITIAL_LEFT 50
- #define INITIAL_TOP 50
-
- /* Unprototyping cast. */
- typedef long (*no_prototype)();
-
- /* Void cast. */
- typedef void (*void_prototype)();
-
- /* Event *cast. */
- typedef struct Event *(*event_prototype)();
-
- /* For non-stdio debugging messages. */
- #define DEBUG(message) \
- do { \
- struct EasyStruct es = { \
- sizeof(struct EasyStruct), \
- 0, \
- "Debugging information", \
- "Message: %s", \
- "OK" \
- }; \
- (void) EasyRequest(functions->window, &es, 0, message); \
- } while (0)
-
- #define NOTE_LENGTH(x) (768 >> (x))
-
- #define MBC_STRING_LENGTH 12
-
- #define CLOCKSPERMEASURE 768L
-
- #define STREQ(x, y) (strcmp((x), (y)) == 0)
- #define STREQN(x, y, n) (strncmp((x), (y), (n)) == 0)
-
- #endif /* MYHEADER_H */
-